<!DOCTYPE html>
<html>

	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0 ,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<title>天天吃货 - 支付宝支付</title>
		<link rel="shortcut icon" href="img/foodie.ico" />
		<link rel="stylesheet" href="css/wxpay.css" />

		<script src="AmazeUI-2.4.2/assets/js/jquery.min.js"></script>
		<script src="https://cdn.jsdelivr.net/npm/vue@2.6.9/dist/vue.js"></script>
		<script src="https://cdn.bootcss.com/axios/0.19.0-beta.1/axios.min.js"></script>
	</head>

	<body class="body">
		<div id="wxpay" class="container">
			<div class="hd">
				<div class="hd-main">
					<div class="ep-hd-info">
						<div class="ep-logo">
							<img src="images/logobig.png" alt="天天吃货" />
						</div>
						<div class="ep-order-status">
							<!-- <h1>订单支付</h1> -->
							<span class="page-title">订单支付</span>
						</div>
					</div>
					<div class="user-info">
						<p>账号：{{ userInfo.nickname }}</p>
					</div>
				</div>
			</div>
			<div class="bd">
				<div class="bd-main">
					<div class="ep-wrapper">
						<div class="ep-pay-step ep-step-channel bd-main-container" style="padding: 30px 270px 30px 250px;display: block;">
							<div class="ep-order-detail">
								<!-- <div>
                                <div class="ep-order-tit">
                                    <dl>
                                        <dt>商品订单：</dt>
                                        <dd>{{orderId}}</dd>
                                    </dl>
                                </div>
                                <div class="ep-order-tit">
                                    <span>支付金额：<em class="rmb"><i>¥</i>{{paymentInfo.amount / 100}}</em></span>
                                </div>
                            </div> -->
								<div>
									<img src="img/loading.gif" style="height:90px;" />
									<span class="hit-words">订单[<em style="color: #0ac265">{{orderId}}</em>]正在支付中，请耐心等待...</span>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
		<script type="text/javascript " src="js/app.js"></script>
		<script src="js/jquery.qrcode.min.js" type="text/javascript"></script>
		<script type="text/javascript">
			var index = new Vue({
				el: "#wxpay",
				data: {
					userIsLogin: false,
					userInfo: {},

					orderId: null,
					paymentInfo: [],
					amount: 0,

					alipayForm: "",
				},
				created() {
					// var me = this;
					// 通过cookie判断用户是否登录
					this.judgeUserLoginStatus();

					// 获得订单号
					var orderId = app.getUrlParam("orderId");
					// 如果orderId为空，跳转到错误页面
					if (orderId == null || orderId == undefined || orderId == '') {
						app.goErrorPage();
						return;
					}
					var amount = app.getUrlParam("amount");
					this.amount = amount;

					this.orderId = orderId;

					// 每个3秒调用后台方法，查看订单是否已经支付成功
					this.setTimer();
				},
				methods: {
					setTimer() {
						return setInterval(() => {
							this.checkPayResult()
						}, 3000)
					},
					// 查询是否支付成功 
					checkPayResult() {
						var orderId = this.orderId;
						// console.log(orderId);
						// 查询订单是否成功
						var userInfo = this.userInfo;

						// 发起请求获得微信支付扫描二维码
						var serverUrl = app.serverUrl;
						axios.defaults.withCredentials = true;
						axios.post(
								serverUrl + '/orders/getPaidOrderInfo?orderId=' + orderId, {}, {
									headers: {
										'headerUserId': userInfo.id,
										'headerUserToken': userInfo.userUniqueToken
									}
								})
							.then(res => {
								if (res.data.status == 200) {
									var orderStatus = res.data.data;
									console.log(orderStatus);

									if (orderStatus.orderStatus == 20) {
										window.location.href = "success.html?orderId=" + orderId + "&orderAmount=" + this.amount;
									}
								} else {
									alert(res.data.msg);
								}
							});
					},
					// 获得支付宝构建的支付提交form 
					// 通过cookie判断用户是否登录
					judgeUserLoginStatus() {
						var userCookie = app.getCookie("user");
						if (
							userCookie != null &&
							userCookie != undefined &&
							userCookie != ""
						) {
							var userInfoStr = decodeURIComponent(userCookie);
							// console.log(userInfo);
							if (
								userInfoStr != null &&
								userInfoStr != undefined &&
								userInfoStr != ""
							) {
								var userInfo = JSON.parse(userInfoStr);
								// 判断是否是一个对象
								if (typeof(userInfo) == "object") {
									this.userIsLogin = true;
									// console.log(userInfo);
									this.userInfo = userInfo;
								} else {
									this.userIsLogin = false;
									this.userInfo = {};
								}
							}
						} else {
							this.userIsLogin = false;
							this.userInfo = {};
						}
					}
				}
			});
		</script>
	</body>

</html>
